﻿<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"
>

  <xsl:output method="html" />

  <!-- page header-->

  <xsl:template name="HtmlHeader">
      <xsl:element name="head">
        <xsl:element name="title">
          <xsl:value-of select="$PageTitle"/>
        </xsl:element>
        <xsl:element name="link">
          <xsl:attribute name="rel">alternate</xsl:attribute>
          <xsl:attribute name="type">application/rss xml</xsl:attribute>
          <xsl:attribute name="title">RSS</xsl:attribute>
          <xsl:attribute name="href">/feeds/rss20</xsl:attribute>
        </xsl:element>
        <xsl:element name="style">
          <xsl:value-of select="$StyleSheet" />
        </xsl:element>
      </xsl:element>
  </xsl:template>

  <!-- blogpost -->
<xsl:template match="blogpost">
  <xsl:element name="div">
    <xsl:attribute name="class">entry</xsl:attribute>
    <xsl:attribute name="id">
      <xsl:value-of select="@id"></xsl:value-of>
    </xsl:attribute>
    <xsl:element name="h2">
      <xsl:value-of select="@createdDay" />-<xsl:value-of select="@createdMonth" />-<xsl:value-of select="@createdYear" />
    </xsl:element>
    <xsl:element name="h3">
	<xsl:element name="a">
		<xsl:attribute name="href">
			<xsl:value-of select="@key" />.t
		</xsl:attribute>
      <xsl:value-of select="@title" />
	</xsl:element>
    </xsl:element>
    <xsl:element name="div">
      <xsl:value-of select="node()" disable-output-escaping="yes" />
    </xsl:element>
  </xsl:element>
</xsl:template>

  <xsl:template name="BlogContents">
    <xsl:apply-templates select="/website/blogpost[position()>=$from and number($from)+number($pageSize) >=position()]" />
  </xsl:template>

  <xsl:template name="NavOlderPosts">
    <xsl:choose>
      <xsl:when test="(number($from) + number($pageSize)) &lt; count(/website/blogpost)">
        <xsl:element name="a">
          <xsl:attribute name="href">
            ?from=<xsl:value-of select="number($from)+number($pageSize)" />
          </xsl:attribute>
          &lt; Older Posts
        </xsl:element>
      </xsl:when>
    </xsl:choose>
  </xsl:template>

  <xsl:template name="NavNewerPosts">
    <xsl:choose>
      <xsl:when test="number($from) > number($pageSize)">
        <xsl:element name="a">
          <xsl:attribute name="href">
            ?from=<xsl:value-of select="number($from)-number($pageSize)" />
          </xsl:attribute>
          Newer Posts &gt;
        </xsl:element>
      </xsl:when>
      <xsl:when test="number($from) > 1">
        <xsl:element name="a"><xsl:attribute name="href">?from=1</xsl:attribute>Newer Posts &gt;
        </xsl:element>
      </xsl:when>
    </xsl:choose>
  </xsl:template>

  <!-- end blogpost -->
  <!-- 
		Navigation generation
	-->
  <xsl:template name="SiteNavigation">
    <xsl:apply-templates select="/website/navigation"></xsl:apply-templates>
  </xsl:template>
  
  <xsl:template match="/website/navigation">
    <xsl:element name="li">
      <xsl:element name="h2">
        <xsl:element name="a">
          <xsl:attribute name="class">
            root<xsl:if test="string($currentUrl)=string(@navigateURL)"> selected</xsl:if>
          </xsl:attribute>
          <xsl:attribute name="href">
            <xsl:value-of select="@navigateURL"/>
          </xsl:attribute>
          <xsl:value-of select="text()"/>
        </xsl:element>
        <xsl:if test="./navigation/node()">
          <xsl:element name="ul">
            <xsl:apply-templates select="./navigation">
            </xsl:apply-templates>
          </xsl:element>
        </xsl:if>
      </xsl:element>
    </xsl:element>
  </xsl:template>

  <xsl:template match="navigation" name="menuBranch">
    <xsl:element name="li">
      <xsl:element name="a">
        <xsl:if test="string($currentUrl)=string(@navigateURL)">
          <xsl:attribute name="class">selected</xsl:attribute>
        </xsl:if>
        <xsl:attribute name="href">
          <xsl:value-of select="@navigateURL"/>
        </xsl:attribute>
        <xsl:value-of select="text()"/>
      </xsl:element>
      <xsl:if test="./navigation/node()">
        <xsl:element name="ul">
          <xsl:apply-templates select="./navigation">
          </xsl:apply-templates>
        </xsl:element>
      </xsl:if>
    </xsl:element>
  </xsl:template>
  <!-- end navigation structure -->

</xsl:stylesheet>
